介紹完機器學習預測時間序列,接著連續幾篇要進入到深度學習的範疇。
我們會提到在時間序列預測的命題上,深度學習和機器學習的不同、優化的邏輯,
並且整理有哪些神經網絡常用於時間序列預測,從比較單純的模型架構,到結合不同類型神經網絡的方法。
最大的差別在於,深度學習神經網絡能夠捕捉序列特徵,機器學習則只能以聚合特徵或生成其他時間特徵,來代表一段時間序列中的資訊。
機器學習
將一段時間序列的特徵聚合或取統計指標計算(例如自迴歸特徵、差分特徵等),再建模做監督式學習迴歸預測
神經網絡
保留原始時間序列的顆粒度,針對原始序列結構設計神經網絡輸入層架構,後續再根據模型表現優化、調整模型架構、超參數,例如加入 Dropout Layer、接上不同特性的神經網絡等
最能夠利用序列特性的神經網絡架構,非遞歸神經網絡莫屬;且序列數據不僅限於時間序列,如語音、文本等。
遞歸神經網絡的概念是,透過記住前面出現的特征推斷結果,並且網絡結構不斷循環。
遞歸神經網絡家族有幾個經典款:(包含 RNN 的變形)
Self-Attention 機制、預訓練模型在語言序列上的良好表現,如出現 BERT 這樣的高適用度模型;那 Transformer 的表現有比 LSTM/GRU 來得好嗎?
Transformer 的 Encoder-Decoder 框架雖然有 position embedding 來捕捉位置順序資訊,但 LSTM/GRU 這種遞歸捕捉時序關係的特性,Transformer 不一定能夠替代得了;因此在大宗相關論壇也都討論到,在數據量大、或能夠使用 pre-train model 的情況下(例如眾多 NLP 任務,像是文本分類、情感分析、問答、語意推論、文本生成等),使用 Transformer 架構表現是更好的,但遇到具有更明顯時序關係(例如季節性循環等)的資料時, LSTM/GRU 還是有不可取代的地位。
return_sequence
設為 True
本篇【以深度學習進行時間序列預測:概論】就到這邊,下一篇我們會從 RNN、LSTM 開始介紹,然後一篇一篇帶到上面列出的模型。